2.2. Rules and Rdates
RDATE
is not supported at all (WHY?)
The iCalendar Recurrence rule section is very elaborate. I’m not aware of any product that conforms to it fully. Specifically, most products recognize only one RRULE
and the others are ignored.
There is more than one way to specify recurrences. For example, we can specify a daily event as a FREQ=WEEKLY
event with weekday = su, mo…sa or as a FREQ=DAILY
. It is relatively easy to implement a recurrence engine to generate events using the rules, but we find it hard to recognize it as a daily event to be displayed in User Interface.
What is the acceptability of interpreting one rule as another (e.g. reinterpret yearly as every 12 months repeat)?
No support for multiple RRULE
s.
No support for EXRULE
s.
Cannot modify the RRULE
attribute (But RDATE
s and EXDATE
s can be added).
No support/limited support for these attributes: INFINITE
, SECONDLY
.
Vendor supports a special recurrence option for monthly meetings where an instance that falls on a weekend can be shifted to a weekday, either the preceding Friday, the following Monday, or whichever is closer. There is no way to sufficiently represent this in iCalendar. Hypothetically, a complex series of RRULE
s can come close, but in cases where the adjustment would cross a month boundary there is no recourse.
Vendor is using a lot the RECURRENCE-ID
/ UID
identification in data model to represent “detached” events, specialization for a given occurrence in a recurrence. This is apparently a much debated point in the interpretation of the specification. Vendor would like to stress the fact that iTIP support is great for invitation interoperability, but the first level should be even before invitations handling, just representation of a given calendar (“PUBLISH” support) so entire calendars can be published, stored, subscribed and imported.
Some other problematic points with recurrences, as seen by Vendor:
the exact semantic of date-based triggers for alarms set on a recurring event
the lack of a standard, commonly accepted vtimezone definitions is a major roadblock to correctly interpret recurrences.